home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 July: Mac OS SDK / Dev.CD Jul 96 SDK / Dev.CD Jul 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / ODFDev / ODF / OS / FWFiles / Include / FWFileSy.h < prev    next >
Encoding:
Text File  |  1996-04-25  |  2.9 KB  |  91 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                FWFileSy.h
  4. //    Release Version:    $ ODF 1 $
  5. //
  6. //    Copyright:    (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #if !defined(FWFILESY_H) && !defined(__ODFRC__)
  11. #define FWFILESY_H
  12.  
  13. #ifndef SLFILESY_H
  14. #include "SLFileSy.h"
  15. #endif
  16.  
  17.  
  18. //========================================================================================
  19. //    FW_CAccessPermission
  20. //
  21. //    This static class is a wrapper for FW_SAccessPermission, a "C" structure which can 
  22. //    be shared across SOM boundaries.
  23. //========================================================================================
  24.  
  25. class FW_CAccessPermission
  26. {
  27. public:
  28.     FW_CAccessPermission(unsigned long access = FW_kReadWrite, 
  29.                          unsigned long deny   = FW_kDenyReadWrite);
  30.         // Main constructor, sets up the specified access privileges.  Default privilege
  31.         //   is exclusive read/write access.
  32.         
  33.     FW_CAccessPermission(const FW_SAccessPermission& permission);
  34.     FW_CAccessPermission(const FW_CAccessPermission& permission);
  35.         // Copy constructor
  36.     
  37.     
  38.     //===========================================================
  39.     // Operators
  40.     //===========================================================
  41.     
  42.     FW_CAccessPermission& operator=(const FW_SAccessPermission& permission);
  43.     FW_CAccessPermission& operator=(const FW_CAccessPermission& permission);
  44.         // Assignment operator.
  45.         
  46.     FW_Boolean operator==(const FW_SAccessPermission& permission) const;
  47.         // Equality operator.
  48.         
  49.     FW_Boolean operator!=(const FW_SAccessPermission& permission) const;
  50.         // Inequality operator.
  51.  
  52.     operator FW_SAccessPermission&() const;
  53.  
  54. private:
  55.     FW_SAccessPermission fRep;
  56. };
  57.  
  58.  
  59. //----------------------------------------------------------------------------------------
  60. //    FW_CAccessPermission::operator=
  61. //----------------------------------------------------------------------------------------
  62.  
  63. inline FW_CAccessPermission& FW_CAccessPermission::operator=(const FW_CAccessPermission& permission)
  64. {
  65.     return (FW_CAccessPermission::operator=(permission.fRep));
  66. }
  67.  
  68.  
  69. //----------------------------------------------------------------------------------------
  70. //    FW_CAccessPermission::operator!=
  71. //----------------------------------------------------------------------------------------
  72.  
  73. inline FW_Boolean FW_CAccessPermission::operator!=(const FW_SAccessPermission& permission) const
  74. {
  75.     return (!FW_CAccessPermission::operator==(permission));
  76. }
  77.  
  78.  
  79. //----------------------------------------------------------------------------------------
  80. //    FW_CAccessPermission::operator FW_SAccessPermission&
  81. //----------------------------------------------------------------------------------------
  82.  
  83. inline FW_CAccessPermission::operator FW_SAccessPermission&() const
  84. {
  85.     return ((FW_CAccessPermission*)this)->fRep;
  86. }
  87.  
  88. #endif
  89.  
  90.  
  91.